Recently, with substantial development of network systems, multimedia data is more often transmitted to a plurality of receiving apparatuses belonging to the same group in, for example, television conference or network games. In this case, multicast communication is known as a communication method for effectively transmitting the same packet to all receiving apparatuses.
A transmitting apparatus classifies receiving apparatuses to which multimedia data is delivered, into small groups of about ten people, and carries out multicast communication on a per small group basis. Multicast communication schemes include the explicit multicast scheme. These schemes refer to storing destination addresses of all receiving apparatuses belonging to a group in an option header or payload of a packet as a receiver list and explicitly specifying all receiving apparatuses to which a packet is delivered, at a transmitting apparatus. Hereinafter, what is simply referred to as a “packet” in this description refers to a packet according to the explicit multicast scheme.
There is “explicit multicast 6” (hereinafter, “XCAST 6”) as a typical explicit multicast scheme (see Non-Patent Document 1).
FIG. 6 shows the header format according to XCAST 6. Further, this XCAST 6 refers to carrying out communication using IPv6 as an IP address.
In FIG. 6, the source address of the packet is written in source address 602 in IPv6 header 601, and a destination address, which is a transmission destination, is written in destination address 603.
XCAST header (XCAST Hdr) 604 is formed with IPv6 header (IPv6Hdr) 605 and routing header (RoutingHdr) 606. The source address of the packet is stored in source address 607 of IPv6 header 605, and a multicast address given to XCAST6, for example, ff05::10, is stored in destination address 608.
All destination address 0 to n (609), which are transmission destinations of multicast, and destination port 0 to n (610) are stored in routing header 606.
The packet distribution method according to the explicit multicast scheme will be described in detail.
When receiving a packet, a router supporting the explicit multicast scheme searches the unicast routing table for all destination addresses stored in routing header 606 of the packet and check the transmission interface matching each destination address. Further, when the packet needs to be outputted to a plurality of output interfaces, the router duplicates packets equaling the number of transmission interfaces. At this time, the router deletes destination addresses other than destination addresses of receiving apparatuses included in the transmission interface from routing header 606 of the packet or adds a mark showing that delivery is completed. Further, the router rewrites destination address 603 written in the IP header to a destination address of a receiving apparatus to which the packet is not yet delivered.
On the other hand, the router that does not support the explicit multicast scheme searches the unicast routing table from the destination address written in the IF header without referring to destination address 605 stored in the packet. Then, similar to normal unicast communication, the router transmits the packet. That is the router that does not support the explicit multicast scheme does not carry out multicast communication. However, when a receiving apparatus that supports the explicit multicast scheme receives this packet, the receiving apparatus refers to a receiver list stored in the XCAST header. Further, when the receiver list includes destination addresses to which the packet is not yet delivered, the receiving apparatus duplicates packets, rewrites destination address 603 of the IP header to the destination addresses to which the packet is not delivered, and transmits the packet.
According to the above method, in the explicit multicast scheme, even if all routers on the route do not support the explicit multicast scheme, the packet could be delivered to all receiving apparatuses.
However, when multimedia data is transmitted by the explicit multicast scheme, if network congestion occurs, a receiving apparatus is not able to receive multimedia data stably, and so quality of images and speech deteriorates significantly. For this reason, it is important to avoid congestion. However, in the explicit multicast scheme, transmission rate control is not defined, and so, even if congestion occurs, it is not possible to avoid congestion by controlling a transmission rate.
TFRC (TCP Friendly Rate Control) that uses feedback information is known as a transmission rate controlling method (see Non-Patent Document 2). This “TFRC” refers to increasing the transmission rate until packet loss occurs and decreasing the transmission rate when packet loss occurs. By this means, the receiving apparatus is able to carry out transmission at a suitable transmission rate.
Then, transmission rate control utilizing TFRC to communication that employs the explicit multicast scheme is studied, and, consequently, SICC (Sender Initiated Congestion Control) is proposed (see Non-Patent Document 3).
FIG. 7 is a packet delivery diagram showing operation of SICC.
In FIG. 7, a transmitting apparatus sets in advance a plurality of classes to which different transmission rates are assigned. According to SICC, upper limit B (bps) of the transmission rate is set and three classes including B/2 class and B/4 class (1/1 Class, 1/2 Class and 1/4 Class, respectively), are provided by decreasing upper limit B by ½ and B/2 by ½. The transmitting apparatus classifies receiving apparatuses into classes and transmits on a per class basis a packet that stores in the header the destination addresses of receiving apparatuses belonging to each class.
To which class a receiving apparatus belongs is determined by the available bandwidth for each receiving apparatus. That is, according to the TFRC requirement, the transmitting apparatus receives information fed back from each receiving apparatus to the transmitting apparatus, including the loss event rate, the time a received packet is transmitted from the transmitting apparatus and the effective rate at which the receiving apparatus is able to receive the packet and estimates by equation 1 the available band for each receiving apparatus based on these items of feedback information. Then, based on the estimated available bandwidth for receiving apparatuses, the transmitting apparatus classifies receiving apparatuses into classes in which transmission rates are set such that the available band can be utilized at maximum.
                    X        =                              8            ⁢            s                                                                                                    R                    ⁢                                                                  2                        ⁢                                                  bp                          /                          3                                                                                                      +                                                                                                      T_RTO                  ⁢                                      (                                          3                      ×                                                                        3                          ⁢                                                      bp                            /                            8                                                                                                                )                                    ×                  p                  ×                                      (                                          1                      +                                              32                        ⁢                                                  p                          2                                                                                      )                                                                                                          (                  Equation          ⁢                                          ⁢          1                )            
Here, X is the available bandwidth (bps), R is the round-trip time (second), p is the loss event rate, is the packet size (byte) and T_RTO is the timeout value (=4×R) of TCP.
Further, the round-trip time used in equation 1 is determined by transmission source transmission time included in feedback information and the time a reception report packet is received.
Further, similar to TFRC, the processing of classifying receiving apparatuses into classes is carried out by the transmitting apparatus each time feedback information is received from receiving apparatuses, so that it is possible to dynamically classify receiving apparatuses into classes suitable for available bandwidth according to network conditions. In this way, each receiving apparatus is classified into either one class and the transmitting apparatus transmits a packet on a per class basis, so that it is possible to realize transmission rate control matching the network condition of each receiving apparatus.    Non-Patent Document 1: Y. Imai, M. Shin and Y. Kim, “XCAST6: eXplict Multicast on IPv6,” IEEE/IPSJ SAINT2003 Workshop 4, IPv6 and Applications, Orland, January, 2003.    Non-Patent Document 2: M. Handley et al., “TCP Friendly Rate Control (TFRC): Protocol Specification,” RFC 3448, Internet    Non-Patent Document 3: “Proposal for Congestion Control Method on Sender Initiated Multicast,” Eiichi Muramoto, Takahiro Yoneda, Fumiaki Suzuki, Yoshihiro Suzuki, Atsushi Nakamura, Internet conference 2003 memoir, pp. 5 to 10, October 2003.0